package org.example.api.system;

import org.example.common.core.domain.model.LoginSocial;
import org.example.common.core.domain.model.LoginSocialConfig;
import org.example.common.core.domain.model.LoginUser;

import java.util.Map;

public interface RemoteSystemUserService {


    /**
     * 账号获取用户
     * @param tenantId
     * @param username
     * @return
     */
    LoginUser getSysUserByUsername(String tenantId,String username);

    /**
     * 手机号获取用户
     * @param tenantId
     * @param phone
     * @return
     */
    LoginUser getSysUserByPhone(String tenantId,String phone);

    /**
     * 邮箱获取用户
     * @param tenantId
     * @param email
     * @return
     */
    LoginUser getSysUserByEmail(String tenantId,String email);



    /**
     * 用户ID获取用户
     * @param tenantId
     * @param userId
     * @return
     */
    LoginUser getSysUserByUserId(String tenantId,Long userId);

    /**
     * 获取用户授权信息
     * @param tenantId
     * @param authId
     * @return
     */
    LoginSocial getSocialByAuthId(String tenantId,String authId);

    /**
     * 获取租户第三方授权配置
     * @param tenantId
     * @return
     */
    Map<String, LoginSocialConfig> getLoginSocialConfig(String tenantId);

}
